+2007-04-29 Matthias Clasen <mclasen@redhat.com>
+
+ * gtk/gtkprintoperation.c (print_pages_idle): Don't get
+ stuck in a recursive mainloop if a synchronous preview
+ is cancelled.
+
2007-04-29 Matthias Clasen <mclasen@redhat.com>
Make the emission of ::end-print and ::done consistent
(print_pages_idle): If a preview has been cancelled, don't
emit ::ready, but emit ::end-print.
- tests/print-editor.c: Use ::end-print to undo allocations
+ * tests/print-editor.c: Use ::end-print to undo allocations
from ::begin-print.
2007-04-29 Matthias Clasen <mclasen@redhat.com>
if (priv->rloop && !data->is_preview)
g_main_loop_quit (priv->rloop);
- if (!data->is_preview || priv->cancelled)
+ if (!data->is_preview)
g_signal_emit (data->op, signals[DONE], 0,
priv->cancelled ?
GTK_PRINT_OPERATION_RESULT_CANCEL :
{
_gtk_print_operation_set_status (data->op, GTK_PRINT_STATUS_FINISHED_ABORTED, NULL);
+ data->is_preview = FALSE;
done = TRUE;
}
- if (done && (!data->is_preview || priv->cancelled))
+ if (done && !data->is_preview)
{
g_signal_emit (data->op, signals[END_PRINT], 0, priv->print_context);
priv->end_run (data->op, priv->is_sync, priv->cancelled);